﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using MySql.Data.MySqlClient;
using System.Windows.Forms;

namespace GestionApp
{
    class clsComunGestion
    {
        public static void CargaComboProvincias(ComboBox cboMiCombo, Boolean filaVacia) { 
            // Combo 
            DataTable dt;   // Tabla de datos que se asignará a la combo
            DataRow dr; // Fila de datos de la tabla 

            dt = new DataTable("Tabla"); 
            dt.Columns.Add("Cod"); // Columnas que se cargarán en la combo 
            dt.Columns.Add("Des"); // Conexión con la base de datos 

            MySqlConnection miConexion; 
            MySqlDataReader miReader;  
            // Consulta SQL 
            MySqlCommand miComando; 
            String strSQL; 
            // Crear la conexión con la base de datos 
            miConexion = new MySqlConnection();
 
            try { 
                // Asignar la cadena de conexión a la base de datos 
                miConexion.ConnectionString = clsComun.getCadenaConexionBD();

                // Abrir la conexión 
                miConexion.Open(); 
                // Preparar el comando con la consulta a ejecutar 
                strSQL = "select codigo, descripcion from provincias order by descripcion"; 
                miComando = new MySqlCommand(strSQL, miConexion); // Ejecutar la consulta y almacenar el resultado en el objeto Reader 
                miReader = miComando.ExecuteReader(); // Si se quiere cargar una fila vacía 
                if (filaVacia) 
                { 
                    // Cargar una línea vacía 
                    dr = dt.NewRow(); 
                    dr["Cod"] = 0; // Código 
                    dr["Des"] = ""; // Descripción 
                    dt.Rows.Add(dr); 
                } 
                // Recorrer los resultados de la consulta 
                while (miReader.Read()) 
                {
                    // Cargar una nueva línea 
                    dr = dt.NewRow(); 
                    dr["Cod"] = miReader.GetInt32("codigo"); // Código provincia 
                    dr["Des"] = miReader.GetString("descripcion"); // Descripción provincia
                    dt.Rows.Add(dr); 
                } 
                // Cargar el DataTable en la Combo 
                cboMiCombo.DataSource = dt; 
                cboMiCombo.ValueMember = "Cod"; // Columna que devuelve la combo 
                cboMiCombo.DisplayMember = "Des"; // Columna que visualiza la combo 
                // Cerrar el objeto Reader 
                miReader.Close(); 
            } 
            catch (Exception ex) 
            { 
                // En caso de error, mostrar el mensaje 
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); 
            } 
            finally 
            { 
                // Desconectar de la base de datos
                miConexion.Close(); 
            } 
        }

        

           

    }
}
